基本命令
本地
必备操作
辅助操作
查看当前仓库的状态
git status |
查看文件的不同
git diff <filename>
回到哪个版本
git reset --hard commit_id |
查看提交历史(图形化), 以便确定退回到哪个版本
git log --graph |
重返未来
git reflog |
把文件在工作区的修改全部撤销
git checkout -- <filename> |
git reset HEAD <filename> 删除
git rm |
高级操作
工作现场
git stash |
git stash pop |
分叉的历史整理成直线
git rebase |
远程操作
关联一个远程库
git remote add origin git$server-name:path/repo-name.git |
推送 (我们第一次推送master分支时,加上了-u参数,Git不但会把本地的 master分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远 程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令)
git push -u origin master |
克隆
git clone |
实践一: 博客备份
本地操作
进入到博客的根目录, 一定要记得先删除主题文件夹下的 .git/ 文件夹, 不然就会产生 submodules , 从而导致无法 commit 主题. 比如要备件 next 主题
rm -r themes/next/.git/ |
这时就可以初始化 git了
git init |
然后添加所有的文件到 stage
git add . |
检察有没有问题
git status |
结果一片绿就没有问题了!
接下来提交备份
git commit -m "first backup" |
想备份到和 githubpages 一个 repository , 所以要另外建一个分支, 名为 backup
git checkout -b backup |
备份到 github
与 github 关联
git remote add origin git@github.com:phyer219/phyer219.github.io.git |
将本地的 backup 分支推到 github
git push origin backup |
备份完成!
以后每次备份都直接
git add . |
即可完成备份!
恢复
备份好以后, 如果在另一台设备上(已经安装好 hexo)恢复, 首先到一个要恢复的文件夹, 然后 clone 下来 backup 分支
git clone -b backup git@github.com:phyer219/phyer219.github.io.git |
执行
npm install |
然后本地测试是否备份成功
hexo s |
以后每次从 back up 中更新直接
git pull |
即可!